import request from '@/utils/request'

/**
 * 获取员工列表
 * @param params
 * @returns {*}
 */
export function getEmployee(params) {
  return request({
    url: '/sys/user',
    method: 'get',
    params
  })
}

/**
 * excel方式导出员工列表
 */
export function exportEmployee() {
  return request({
    url: '/sys/user/export',
    method: 'get',
    responseType: 'blob' // 使用blob格式接受二进制文件流
  })
}

/**
 * 下载员工导入模版
 */
export function getExportTemplate() {
  return request({
    url: '/sys/user/import/template',
    method: 'get',
    responseType: 'blob' // 使用blob格式接受二进制文件流
  })
}

/**
 * 批量-导入员工(上传excel)
 */
export function uploadExcel(data) {
  return request({
    url: '/sys/user/import',
    method: 'post',
    data // form-data 类型 因为是文件上传
  })
}

/**
 * 删除-员工
 * @param id 员工id
 */
export function deleteEmployee(id) {
  return request({
    url: `/sys/user/${id}`,
    method: 'delete'
  })
}

/**
 * 新增-员工
 */
export function addEmployee(data) {
  return request({
    url: '/sys/user',
    method: 'post',
    data
  })
}

/**
 * 获取-员工-基本信息
 * @param id 员工id
 */
export function getEmployeeDetail(id) {
  return request({
    url: `/sys/user/${id}`,
    method: 'get'
  })
}

/**
 * 获取-员工-基本信息
 * @param data 员工信息
 */
export function updateEmployeeDetail(data) {
  return request({
    url: `/sys/user/${data.id}`,
    method: 'put',
    data
  })
}

/**
 * 获取-已启用的角色列表
 */
export function getEnabledEmployeeList() {
  return request({
    url: '/sys/role/list/enabled',
    method: 'get'
  })
}

/**
 * 分配-员工-角色
 */
export function assignRoles(data) {
  return request({
    url: '/sys/user/assignRoles',
    method: 'put',
    data
  })
}

